package cn.techwis.service;

import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONObject;
import cn.techwis.dto.PayRefundQueryDTO;
import cn.techwis.common.WxApi;
import cn.techwis.vo.InItVO;
import cn.techwis.vo.PayRefundsQueryVO;
import cn.techwis.util.WxHttpUtil;

/**
 * 退款查询
 */
public class PayRefundsQueryService extends Tservice {


    /**
     * 通用退款结果查询
     *
     * @param payRefundsQueryVO
     * @param inItVO
     * @return
     */
    public static PayRefundQueryDTO payRefundsQuery(PayRefundsQueryVO payRefundsQueryVO, InItVO inItVO) {
        validateObject(payRefundsQueryVO, PayRefundsQueryVO.PayRefundsQuery.class, inItVO);
        String format = StrUtil.format(WxApi.refundsQuery.REFUNDSQUERY, payRefundsQueryVO.getOut_refund_no());
        JSONObject jsonObject = WxHttpUtil.requestGet("退款查询", format, inItVO.getPrivateKeyFileName(), inItVO.getMchId(), inItVO.getSerialNo());
        return refundsQueryResult(jsonObject);
    }


    public static void main(String[] args) {
        PayRefundsQueryVO payRefundsQueryVO = new PayRefundsQueryVO();
        payRefundsQueryVO.setOut_refund_no("123");
        InItVO inItVO = new InItVO();
        inItVO.setPrivateKeyFileName("C:\\Users\\yando\\Desktop\\apiclient_key.pem");
        inItVO.setSerialNo("71B1200AE00607AA44A2EC99DB14387CF266C354");
        inItVO.setMchId("1505026761");
        payRefundsQuery(payRefundsQueryVO, inItVO);
    }
}
